package com.net.xpay.core.manager.safePay;

import com.net.common.manager.VersionedManager;
import com.net.xpay.core.domain.safePay.SafePayBookAccount;
import com.net.xpay.core.dto.SafePayBookAccountCountDto;
import com.net.xpay.core.model.SafePayBookAccountSearchModel;

import java.util.List;


public interface SafePayBookAccountManager extends VersionedManager<Long,SafePayBookAccount> {
    SafePayBookAccount findByAlipayNickName(Long userId, String alipayNickName);

    SafePayBookAccount findByExternalAgreementNo(String externalAgreementNo);

    SafePayBookAccount findById(Long userId, Long id);

    List<SafePayBookAccount> search(SafePayBookAccountSearchModel searchModel);

    long searchCount(SafePayBookAccountSearchModel searchModel);

    List<SafePayBookAccount> list(SafePayBookAccountSearchModel searchModel);

    SafePayBookAccount getByBookId(String bookId);

    SafePayBookAccount getByUserId(Long userId);

    SafePayBookAccountCountDto searchCountDto(SafePayBookAccountSearchModel searchModel);
}
